package com.cdp.common.core.domain.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 力学性能表
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("sys_mechanical_performance")
public class SysMechanicalPerformance {

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;  // 主键ID

    @TableField("region")
    private Integer region;  // 区域

    @JsonIgnore
    @TableField(exist = false)
    private String regionNameStr;  // 区域名称字符串（不参与数据库映射）


    @JsonFormat(pattern = "yyyy-MM-dd")
    @TableField("production_date")
    private LocalDateTime productionDate;  // 生产日期

    @TableField("strength_grade")
    private String strengthGrade;  // 强度等级

    @TableField("compressive_3d")
    private BigDecimal compressive3d;  // 3天抗压强度

    @TableField("compressive_7d")
    private BigDecimal compressive7d;  // 7天抗压强度

    @TableField("compressive_28d")
    private BigDecimal compressive28d;  // 28天抗压强度

    @TableField("water")
    private BigDecimal water;  // 水参量

    @TableField("cement_id")
    private Integer cementId;  // 水泥ID

    @TableField("cement")
    private BigDecimal cement;  // 水泥用量

    @TableField("stone_5_10_id")
    private Integer stone510Id;  // 5-10mm石子ID

    @TableField("stone_5_10")
    private BigDecimal stone510;  // 5-10mm石子用量

    @TableField("stone_5_25_id")
    private Integer stone525Id;  // 5-25mm石子ID

    @TableField("stone_5_25")
    private BigDecimal stone525;  // 5-25mm石子用量

    @TableField("stone_20_40_id")
    private Integer stone2040Id;  // 20-40mm石子ID

    @TableField("stone_20_40")
    private BigDecimal stone2040;  // 20-40mm石子用量

    @TableField("stone_10_20_id")
    private Integer stone1020Id;  // 10-20mm石子ID

    @TableField("stone_10_20")
    private BigDecimal stone1020;  // 10-20mm石子用量

    @TableField("stone_10_30_id")
    private Integer stone1030Id;  // 10-30mm石子ID

    @TableField("stone_10_30")
    private BigDecimal stone1030;  // 10-30mm石子用量

    @TableField("stone_0_10_id")
    private Integer stone010Id;  // 0-10mm石子ID

    @TableField("stone_0_10")
    private BigDecimal stone010;  // 0-10mm石子用量

    @TableField("stone_20_31_id")
    private Integer stone2031Id;  // 20-31mm石子ID

    @TableField("sand_river_coarse_31_37_id")
    private Integer sandRiverCoarse3137Id;  // 河沙31-37mm粗砂ID

    @TableField("sand_river_coarse_31_37")
    private BigDecimal sandRiverCoarse3137;  // 河沙31-37mm粗砂用量

    @TableField("sand_river_23_30_med_id")
    private Integer sandRiver2330MedId;  // 河沙23-30mm中砂ID

    @TableField("sand_river_23_30_med")
    private BigDecimal sandRiver2330Med;  // 河沙23-30mm中砂用量

    @TableField("sand_river_16_22_fine_id")
    private Integer sandRiver1622FineId;  // 河沙16-22mm细砂ID

    @TableField("sand_river_16_22_fine")
    private BigDecimal sandRiver1622Fine;  // 河沙16-22mm细砂用量

    @TableField("sand_mech_23_30_med_id")
    private Integer sandMech2330MedId;  // 机械砂23-30mm中砂ID

    @TableField("sand_mech_23_30_med")
    private BigDecimal sandMech2330Med;  // 机械砂23-30mm中砂用量

    @TableField("sand_mech_31_37_coarse_id")
    private Integer sandMech3137CoarseId;  // 机械砂31-37mm粗砂ID

    @TableField("sand_mech_31_37_coarse")
    private BigDecimal sandMech3137Coarse;  // 机械砂31-37mm粗砂用量

    @TableField("sand_mech_16_22_fine_id")
    private Integer sandMech1622FineId;  // 机械砂16-22mm细砂ID

    @TableField("sand_mech_16_22_fine")
    private BigDecimal sandMech1622Fine;  // 机械砂16-22mm细砂用量

    @TableField("sand_mech_0_475_id")
    private Integer sandMech0475Id;  // 机械砂0-0.475mm粉砂ID

    @TableField("sand_mech_0_475")
    private BigDecimal sandMech0475;  // 机械砂0-0.475mm粉砂用量

    @TableField("sand_mech_0_9_id")
    private Integer sandMech09Id;  // 机械砂0-0.9mm用量ID

    @TableField("sand_mech_0_9")
    private BigDecimal sandMech09;  // 机械砂0-0.9mm用量

    @TableField("stone_powder_id")
    private Integer stonePowderId;  // 石粉ID

    @TableField("stone_powder")
    private BigDecimal stonePowder;  // 石粉用量

    @TableField("mineral_powder_id")
    private Integer mineralPowderId;  // 矿粉ID

    @TableField("mineral_powder")
    private BigDecimal mineralPowder;  // 矿粉用量

    @TableField("fly_ash_id")
    private Integer flyAshId;  // 飞灰ID

    @TableField("fly_ash")
    private BigDecimal flyAsh;  // 飞灰用量

    @TableField("water_reducer_id")
    private Integer waterReducerId;  // 引水剂ID

    @TableField("water_reducer")
    private BigDecimal waterReducer;  // 引水剂用量

    @TableField("efficiency_agent_id")
    private Integer efficiencyAgentId;  // 效率剂ID

    @TableField("efficiency_agent")
    private BigDecimal efficiencyAgent;  // 效率剂用量

    @TableField("expansion_agent_id")
    private Integer expansionAgentId;  // 膨胀剂ID

    @TableField("expansion_agent")
    private BigDecimal expansionAgent;  // 膨胀剂用量

    @TableField("create_by")
    private String createBy;  // 创建人

    @TableField("create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;  // 创建时间

    @TableField("update_by")
    private String updateBy;  // 更新人

    @TableField("update_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;  // 更新时间

    @TableField("version")
    private Integer version;  // 版本

    @TableField("delete_time")
    private Integer deleteTime;  // 删除时间


    @TableField("stone_coarse_20_31")
    private BigDecimal  stoneCoarse20315;
}
